@怪人
2年前 提问
1个回答
渗透测试怎么上传php小马
Anna艳娜
2年前
利用00截断使用brupsuite上传
利用00截断就是利用程序员在写程序时对文件的上传路径过滤不严格,产生0X00上传截断漏洞。假设文件的上传路径为`http://xx.xx.xx.xx/upfiles/lubr.php.jpg`,通过Burpsuite抓包截断将`lubr.php`后面的`.`换成`0X00`。在上传的时候,当文件系统读到`0X00`时,会认为文件已经结束,从而将`lubr.php.jpg`的内容写到`lubr.php`中,从而达到攻击的目的。
构造服务器端扩展名检测上传
当浏览器将文件提交到服务器端的时候,服务器端会根据设定的黑名单对浏览器提交上来的文件扩展名进行检测,如果上传的文件扩展名不符合黑名单的限制,则不予上传,否则上传成功。本例讲解,将一句话木马的文件名`lubr.php`改成`lubr.php.abc`。首先,服务器验证文件扩展名的时候,验证的是.abc,只要改扩展名符合服务器端黑名单规则,即可上传。另外,当在浏览器端访问该文件时,Apache如果解析不了`.abc`扩展名,会向前寻找可解析的扩展名,即`.php`。一句话木马可以被解析,即可通过中国菜刀连接。
绕过Content-Type检测文件类型上传
当浏览器在上传文件到服务器端的时候,服务器对上传的文件Content-Type类型进行检测,如果是白名单允许的,则可以正常上传,否则上传失效。绕过Content-Type文件类型检测,就是用Burpsuite截取并修改数据包中文件的Content-Type类型,使其符合白名单的规则,达到上传的目的。
构造图片木马,绕过文件内容检测上传Shell
一般文件内容验证使用`getimeagesize()`函数检测,会判断文件是否一个有效的文件图片,如果是,则允许上传,否则的话不允许上传。